home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / comm / tlxhst21.zip / TLX_HST.SLT < prev    next >
Text File  |  1990-01-23  |  60KB  |  1,844 lines

  1. ////////////////////////////////////////////////////////////////////////
  2. //                                                                    //
  3. //  TLX_HST Script, Version 2.1                                       //
  4. //                                                                    //
  5. //  For Telix SALT version 3.12                                       //
  6. //                                                                    //
  7. //  (c) Andrzej Taramina, 1989, 1990                                  //
  8. //                                                                    //
  9. ////////////////////////////////////////////////////////////////////////
  10.  
  11. str Copyright[] = "TLX_HST 2.1, Copyright: Andrzej Taramina 1989, 1990";
  12.  
  13. ////////////////////////////////////////////////////////////////////////
  14. //                                                                    //
  15. //  Global variables and storage areas                                //
  16. //                                                                    //
  17. ////////////////////////////////////////////////////////////////////////
  18.  
  19. int OK = 0;                            // Global status codes
  20. int TERMINATE = 99;
  21. int TIMEOUT = 98;
  22. int MSG_BOX_COL = 62;
  23. int MSG_TXT_COL = 48;
  24. str TLX_ERR[] = "TLX_HST 2.1 - ERROR ";
  25. str VERSION[3] = "2.1";                // Version Number
  26.  
  27. int Global_Status = 0;
  28. str Rom_Level_Str[4] = "";             // Modem rom level
  29. int Rom_Level;
  30.  
  31. str Main_Menu[1500];                   // Main menu storage
  32. int Disp_Menu_Loaded = 0;              // subfunction menu storage &
  33. str Disp_Menu[1200];                   //             loaded flags
  34. int Sets_Menu_Loaded = 0;
  35. str Sets_Menu[1200];
  36. int Regs_Menu_Loaded = 0;
  37. str Regs_Menu[1200];
  38. int Help_Menu_Loaded = 0;
  39. str Help_Menu[1200];
  40. int Test_Menu_Loaded = 0;
  41. str Test_Menu[1200];
  42. int Fone_Menu_Loaded = 0;
  43. str Fone_Menu[1200];
  44. int Comp_Menu_Loaded = 0;
  45. str Comp_Menu[1200];
  46.  
  47. //
  48. ////////////////////////////////////////////////////////////////////////
  49. //                                                                    //
  50. //  Main line code                                                    //
  51. //                                                                    //
  52. ////////////////////////////////////////////////////////////////////////
  53.  
  54. main()
  55.  {
  56.   int save_scr;
  57.   int t1, t2, t3, t4a, t4b, t5;
  58.   int stat;
  59.   int time_handle;
  60.   int old_baud, old_datab, old_parity, old_stopb;
  61.   int choice;
  62.   int menu_len;
  63.   int o1, o2, o3, o4, o5, o6, o7;
  64.   str buffer[100];
  65.  
  66.   save_scr = vsavearea(0,0,79,24);        // save screen image
  67.   clear_scr();
  68.   load_scr("menu_mgr");                   // Load menu manager
  69.   flushbuf();
  70.  
  71.   if (carrier())                          // make sure we're offline
  72.      {
  73.       error_msg("This Script MUST be run OFFLINE (in terminal mode)",
  74.                 "Script terminated due to above error.","","");
  75.       unload_scr("menu_mgr");
  76.       vrstrarea(save_scr);
  77.       cursor_onoff(1);
  78.       return(-1);
  79.      }
  80.  
  81.   t1  = track("961",0);                    // set tracking for rom level
  82.   t2  = track("963",0);
  83.   t3  = track("964",0);
  84.   t4a = track("1440",0);
  85.   t4b = track("1441",0);
  86.   t5  = track("OK",0);
  87.  
  88.   flushbuf();                             // get rom level from modem
  89.   cputs("ATI0^M");
  90.   time_handle = timer_start(20);
  91.   while (1)
  92.      {
  93.       terminal();
  94.       stat = track_hit(0);
  95.       if (stat == t1)
  96.          {
  97.           Rom_Level_Str = "961";
  98.           Rom_Level     = 961;
  99.           break;
  100.          }
  101.       else if (stat == t2)
  102.               {
  103.                Rom_Level_Str = "963";
  104.                Rom_Level     = 963;
  105.                break;
  106.               }
  107.       else if (stat == t3)
  108.               {
  109.                Rom_Level_Str = "964";
  110.                Rom_Level     = 964;
  111.                break;
  112.               }
  113.       else if (stat == t4a)
  114.               {
  115.                Rom_Level_Str = "1440";
  116.                Rom_Level     = 1440;
  117.                break;
  118.               }
  119.       else if (stat == t4b)
  120.               {
  121.                Rom_Level_Str = "1441";
  122.                Rom_Level     = 1441;
  123.                break;
  124.               }
  125.       else if (stat == t5)
  126.               break;
  127.       else if (time_up(time_handle))
  128.               break;
  129.      }
  130.  
  131.   track_free(0);                          // clean up after tracking
  132.   timer_free(time_handle);
  133.  
  134.   if (Rom_Level_Str == "")                    // check for recognized rom
  135.      {
  136.       error_msg("Sorry, your modem is not a USRobotics Courier HST or",
  137.                 "the ROM level is higher than 144x or lower than 961.",
  138.                 "TLX_HST 2.1 Script terminating due to above error.",
  139.                 "");
  140.       unload_scr("menu_mgr");
  141.       vrstrarea(save_scr);
  142.       cursor_onoff(1);
  143.       return(-1);
  144.      }
  145.  
  146.   cputs("AT&B0^M");
  147.   old_baud   = get_baud();                // save old connect parms
  148.   old_parity = get_parity();
  149.   old_datab  = get_datab();
  150.   old_stopb  = get_stopb();
  151.   set_cparams(2400,0,8,1);
  152.   _local_echo = 1;
  153.  
  154.  call("menu_mgr","l",Main_Menu,"tlx_hstm",menu_len);
  155.  call("menu_mgr","p",Main_Menu,Rom_Level_Str,13);
  156.  if (Rom_Level < 964)
  157.     {
  158.      call("menu_mgr","ga",Main_Menu,buffer,5,o1,o2,o3,o4,o5,o6,o7);
  159.      call("menu_mgr","pa",Main_Menu,buffer,5,'O',o2,o3,56,o5,o6,o7);
  160.     }
  161.  
  162.  while (Global_Status == OK)              // main menu display loop
  163.   {
  164.   choice = call("menu_mgr","d",Main_Menu,buffer,0,1,0,0);
  165.   call("menu_mgr","r");
  166.   cursor_onoff(1);
  167.   update_term();
  168.   if (choice == 1)                        // do Telix setup?
  169.      telix_def();
  170.   else if (choice == 2)                   // do PCBoard setup?
  171.           pcboard_def();
  172.   else if (choice == 3)                   // display subfunctions?
  173.           submenu_disp();
  174.   else if (choice == 4)                   // set subfunctions?
  175.           submenu_sets();
  176.   else if (choice == 5)                   // data compression subfns?
  177.           submenu_comp();
  178.   else if (choice == 6)                   // phone # subfunctions?
  179.           submenu_fone();
  180.   else if (choice == 7)                   // test subfunctions?
  181.           submenu_test();
  182.   else if (choice == 8)                   // help subfunctions?
  183.           submenu_help();
  184.   else if (choice == 9)                   // exit?
  185.           {
  186.            Global_Status = TERMINATE;
  187.            break;
  188.           }
  189.   if (choice == 1 or choice == 2) wait_for_key();
  190.   }
  191.  
  192.   if (Global_Status == TIMEOUT)           // did we get a timeout?
  193.      {
  194.       error_msg("WAITFOR timeout on current modem operation,",
  195.                 "Reply not received within 20 seconds.",
  196.                 "TLX_HST 2.1 Script terminating due to above error.",
  197.                 "");
  198.      }
  199.  
  200.   // reset everything before exiting TLX_HST
  201.  
  202.   set_cparams(old_baud,old_parity,old_datab,old_stopb);
  203.   _local_echo = 1;
  204.   unload_scr("menu_mgr");
  205.   cursor_onoff(1);
  206.   vrstrarea(save_scr);
  207.   return(0);
  208.  }
  209.  
  210. //
  211. ////////////////////////////////////////////////////////////////////////
  212. //                                                                    //
  213. //  Process "Display" submenu                                         //
  214. //                                                                    //
  215. ////////////////////////////////////////////////////////////////////////
  216.  
  217. submenu_disp()
  218. {
  219.  int done = 0;
  220.  int choice;
  221.  int menu_len;
  222.  str buffer[100];
  223.  
  224.  if (! Disp_Menu_Loaded)
  225.     {
  226.      call("menu_mgr","l",Disp_Menu,"tlx_hstd",menu_len);
  227.      Disp_Menu_Loaded = 1;
  228.     }
  229.  
  230.  while (! done and Global_Status == OK)   // display submenu loop
  231.   {
  232.   choice = call("menu_mgr","d",Disp_Menu,buffer,0,1,0,0);
  233.   call("menu_mgr","r");
  234.   cursor_onoff(1);
  235.   update_term();
  236.   if (choice == 1)                      // display rom level?
  237.      get_level();
  238.   else if (choice == 2)                 // display memory checksum?
  239.           chk_sum();
  240.   else if (choice == 3)                 // display ram settings?
  241.           current_set();
  242.   else if (choice == 4)                 // display nram settings?
  243.           nram_set();
  244.   else if